Method and system to control vehicle turn indicators

ABSTRACT

Methods, systems and program products are provided for obtaining navigation data indicative of a present position of a vehicle and assessing lane restriction information in connection with a road lane corresponding to a present position of the vehicle as designated by the navigation data. The methods, systems and program products also activate a turn indicator of the vehicle based on the lane information and the navigation data. The methods, systems and program products collect navigation data indicative of a present position of a vehicle.

BACKGROUND

Embodiments of the present disclosure generally relate to methods,systems and program products that control vehicle turn indicators basedon navigation information.

Today, the laws of every state in the United States, as well as in manyforeign countries require drivers to use turn on signals at least whenmaking turns at intersections. In many instances, turn signals are alsorequired when changing lanes on a highway or other road.

However, many drivers become lazy, are inexperienced, preoccupied,forget or for other reasons do not turn on turn signals when changinglanes or making turns at intersections. Drivers that change lanes ormake turns at intersections without proper signaling create an increasedrisk of accident and injury.

Heretofore, no mechanism has been provided that assists drivers inproperly using turn signals. While vehicles include controllers toautomatically turn off turn signals after a certain amount of time or acertain distances traveled, such vehicles lack any mechanism tofacilitate proper activation of the turn signals prior to turns and lanechanges.

SUMMARY

In accordance with an embodiment, a method is provided for obtainingnavigation data indicative of a present position of a vehicle andassessing lane restriction information in connection with a road lanecorresponding to a present position of the vehicle as designated by thenavigation data. The method also activates a turn indicator of thevehicle based on the lane restriction information and the navigationdata.

Optionally, the method may include generating automatically a turnindicator command to initiate the activating operation, and thegenerating operation supplying the turn indicator command to an onboarddiagnostics system of the vehicle to direct the vehicle to automaticallyturn on a turn signal that represents the turn indicator. Optionally,the method may further comprise determining when the vehicle is locatedin a “turn only” lane based on the lane restriction information and thenavigation data, the turn indicator command being generatedautomatically when the vehicle is in the “turn only” lane. Optionally,the method may further comprise determining when the vehicle is within athreshold distance from an upcoming turn based on the navigation data,the turn indicator command being generated automatically when thevehicle is within the threshold distance.

Optionally, the method may further comprise determining when the vehicleis located in a “turn optional” lane based on the lane restrictioninformation; determining that the vehicle is approaching a turncandidate intersection based on the navigation data; and analyzinghistoric driving data indicative of past driving behavior, the turnindicator command being generated automatically when the historicdriving data indicates the past driving behavior includes turning at theturn candidate intersection from the turn optional lane. Optionally, themethod may further comprise tracking a position of the vehicle along aroute to a destination location based on the navigation data, the routeincluding turn intersections, and activating the turn indicator as thenavigation data indicates that the vehicle approaches the turnintersections along the route. Optionally, the method may furthercomprise receiving a destination location and calculating a routebetween a present position of the vehicle and the destination location.Optionally, the method may further comprise determining whether thevehicle is in a correct turn lane based on the navigation data; andnotifying a driver that the vehicle is in a wrong lane when the vehicleis not in the correct turn lane. Optionally, the method may furthercomprise analyzing historic driving data indicative of past drivingbehavior, the turn indicator being activated automatically when thehistoric driving data indicates the past driving behavior includesturning at a candidate turn intersection that the vehicle approaches.

In accordance with an embodiment, a system is provided, which comprisesa processor and an input that collects navigation data indicative of apresent position of a vehicle. The system also comprises a local storagemedium storing program instructions accessible by the processor.Responsive to execution of the program instructions, the processorassesses lane restriction information in connection with a road lanecorresponding to a present position of the vehicle as designated by thenavigation data; and activates a turn indicator of the vehicle based onthe lane restriction information and the navigation data.

Optionally, the system may further comprise a data interface configuredto be coupled to an onboard diagnostics system of the vehicle, theprocessor generates automatically a turn indicator command to activatethe turn indicator, the data interface supplying the turn indicatorcommand to the onboard diagnostics system of the vehicle. Optionally,the system may further comprise a GPS module to track the presentposition of the vehicle and generate the navigation data based thereon.Optionally, the system may further comprise a transceiver configured towirelessly convey the turn indicator command over a wireless interfaceto an onboard diagnostics system of the vehicle. Optionally, the systemmay be configured wherein the local storage medium further stores mapinformation including road related data including lane restrictioninformation indicative of turn restrictions.

Optionally, the system may comprise the processor automaticallygenerates a turn indicator command when the navigation data indicatesthat the vehicle is in the road lane for which the lane restrictioninformation indicates a turn. Optionally, the system may be comprise theprocessor updating historic driving data based on at least one of acommuter route, a school route and an afterschool activity route, theprocessor automatically activating the turn indicator based on the lanerestriction information and the historic driving data.

In accordance with an embodiment, a computer program product isprovided, comprising a non-transitory computer readable medium havingcomputer executable code to perform operations. The operations compriseobtaining navigation data indicative of a present position of a vehicle.The operations also assess lane restriction information in connectionwith a road lane corresponding to a present position of the vehicle asdesignated by the navigation data. The operations also generateautomatically a turn indicator command to activate a turn indicator ofthe vehicle based on the lane information and the navigation data.

Optionally, the code may further comprise generating automatically aturn indicator command and supplying the turn indicator command to anonboard diagnostics system of the vehicle to direct the vehicle toautomatically turn on a turn signal that represents the turn indicator.Optionally, the code may further comprise determining when the vehicleis located in a “turn only” lane based on the lane restrictioninformation and the navigation data, the turn indicator being activatedautomatically when the vehicle is in the “turn only” lane.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a vehicle that includes a navigation assistancesystem formed in accordance with embodiments herein.

FIG. 2 illustrates a simplified block diagram of an illustrative mobiledevice in accordance with embodiments herein.

FIG. 3 illustrates a process for automatically controlling turnindicators on a vehicle while navigating along a suggested route inaccordance with embodiments.

FIG. 4 illustrates a process for automatically controlling turnindicators on a vehicle while travelling along no particular suggestedroute also referred to a non-navigation route in accordance withembodiments.

DETAILED DESCRIPTION

It will be readily understood that the components of the embodiments asgenerally described and illustrated in the figures herein, may bearranged and designed in a wide variety of different configurations inaddition to the described example embodiments. Thus, the following moredetailed description of the example embodiments, as represented in thefigures, is not intended to limit the scope of the embodiments, asclaimed, but is merely representative of example embodiments. It shouldbe clearly understood that the various arrangements and processesbroadly described and illustrated with respect to the Figures, and/orone or more individual components or elements of such arrangementsand/or one or more process operations associated of such processes, canbe employed independently from or together with one or more othercomponents, elements and/or process operations described and illustratedherein.

Reference throughout this specification to “one embodiment” or “anembodiment” (or the like) means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. Thus, appearances of the phrases “in oneembodiment” or “in an embodiment” or the like in various placesthroughout this specification are not necessarily all referring to thesame embodiment.

Furthermore, the described features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments. In thefollowing description, numerous specific details are provided to give athorough understanding of embodiments. One skilled in the relevant artwill recognize, however, that the various embodiments can be practicedwithout one or more of the specific details, or with other methods,components, materials, etc. In other instances, well-known structures,materials, or operations are not shown or described in detail to avoidobfuscation. The following description is intended only by way ofexample, and simply illustrates certain example embodiments.

FIG. 1 illustrates a vehicle 100 that includes a navigation assistancesystem 102 formed in accordance with embodiments herein. The system 102includes a mobile device 110 that uses GPS coordinates and/or othernavigation data to automatically activate (e.g. turn on) and deactivate(e.g. turn off) the turn indicators 104. By way of example, the turnindicators 104 may represent turn signal lights located on the frontand/or rear of the vehicle, in the back glass window, on the front andrear dashboards and the like. The turn indicators 104 may representother types of indicators in addition to lights, such as mechanicaldevices, audio sounds and the like. The mobile device 110 maycommunicate with the onboard diagnostic (OBD) system 106 through an OBDterminal 120. The mobile device 110 may include a GPS subsystem (asexplained herein). Optionally, the mobile device 110 may communicatewith a stand-alone mobile GPS device 108. Optionally, the mobile device110 may communicate with a built-in GPS system 112 integrated within thecontrol system of the vehicle 100.

On-board diagnostics (OBD) is an automotive term referring to avehicle's self-diagnostic and reporting capability. On-BoardDiagnostics, is a computer-based system built into all 1996 and laterlight-duty vehicles and trucks, as required by the Clean Air ActAmendments of 1990. OBD systems are designed to monitor the performanceof some of an engine's major components including those responsible forcontrolling emissions. The OBD system 120 give the vehicle owner orrepair technician access to the status of the various vehiclesub-systems. The amount of diagnostic information available via OBD hasvaried widely since its introduction in the early 1980s' versions ofon-board vehicle computers. Modern OBD system implementations use astandardized digital communications port to provide real-time data inaddition to a standardized series of diagnostic trouble codes, or DTCs,which allow one to rapidly identify and remedy malfunctions within thevehicle.

The mobile device 110 may communicate with the stand-alone mobile GPSdevice 108 and/or the built-in GPS system 112 through a Bluetooth link,another wired connection, or other available communicationsprotocols/links. As explained hereafter, in accordance with embodimentsherein, a navigation route is created by a GPS device/system and aposition and speed of the vehicle is tracked with the GPS device/system.Based on the navigation route and the current position/speed of thevehicle, the mobile device 110 determines when the vehicle 100 should beturning. When the driver is in a turn eligible lane, the mobile device110 activates an appropriate turn indicator signal at an appropriatedistance before the turn. Optionally, the mobile device 110 may turn offor deactivate the turn signal following the turn. A “turn eligible” lanerepresents a lane from which a vehicle is permitted to turn withoutviolating any laws or local ordinances.

In accordance with embodiments herein, the mobile device 110 may operatewithout preset navigation routes. The GPS device/system 108, 112 tracksthe current position and speed of the vehicle 100, while the mobiledevice 110 monitors which lane of traffic that the vehicle is located.When the vehicle 100 is in a turn only lane and approaching a turn, themobile device 110 automatically activates (turns on) the turn signals.Following the intersection, the mobile device automatically deactivates(turns off) the turn signals. By monitoring the position of the vehiclerelative to lanes of traffic, the mobile device 110 affords a mechanismto assist drivers to properly use turn signals. The mobile device 110provides a mechanism to facilitate proper activation of the turn signalsprior to turns and lane changes, thereby assisting to comply with lawsand improve driver safety.

FIG. 2 illustrates a simplified block diagram of the mobile device 110,which includes components such as one or more wireless transceivers 202,one or more processors 204 (e.g., a microprocessor, microcomputer,application-specific integrated circuit, etc.), one or more localstorage medium (also referred to as a memory portion) 206, a userinterface 208 which includes one or more input devices 209 and one ormore output devices 210, a power module 212, an OBD interface 214, and aGPS receiver 226. All of these components can be operatively coupled toone another, and can be in communication with one another, by way of oneor more internal communication links 217, such as an internal bus.

The input and output devices 209, 210 may each include a variety ofvisual, audio, and/or mechanical devices. For example, the input devices209 can include a visual input device such as an optical sensor orcamera, an audio input device such as a microphone, and a mechanicalinput device such as a keyboard, keypad, selection hard and/or softbuttons, switch, touchpad, touch screen, icons on a touch screen, atouch sensitive areas on a touch sensitive screen and/or any combinationthereof. Similarly, the output devices 210 can include a visual outputdevice such as a liquid crystal display screen, one or more lightemitting diode indicators, an audio output device such as a speaker,alarm and/or buzzer, and a mechanical output device such as a vibratingmechanism. The display may be touch sensitive to various types of touchand gestures. As further examples, the output device(s) 210 may includea touch sensitive screen, a non-touch sensitive screen, a text-onlydisplay, a smart phone display, an audio output (e.g., a speaker orheadphone jack), and/or any combination thereof.

The user interface 208 may be configured with a Liquid Crystal Display(LCD) panel. If the LCD panel is implemented into a touch screen, theuser interface 208 is used as an input device as well as a displaydevice. The user interface 208 displays user-input information orinformation to be provided to the user as well as menus. The userinterface 208 permits the user to select one or more of a switch, buttonor icon to collect content elements, and/or enter indicators. As oneexample, the user may enter a destination location, a candidate routeand the like. Examples of candidate routes include commuter routesbetween a home and a workplace, school routes between a home and/oroffice and school, afterschool activity route between a home and/oroffice and various fields or other locations for afterschool sports,music, dance and other activities. As another example, the user mayenter one or more predefined touch gestures and/or voice command througha microphone on the mobile device 110. The predefined touch gesturesand/or voice command may instruct the mobile device 110 to begin routingto a destination, follow the commuter route, take, “Max to school”, take“Abby to basketball practice”, and the like.

The local storage medium 206 can encompass one or more memory devices ofany of a variety of forms (e.g., read only memory, random access memory,static random access memory, dynamic random access memory, etc.) and canbe used by the processor 204 to store and retrieve data. The data thatis stored by the local storage medium 206 can include, but need not belimited to, operating systems, applications, user collected content andinformational data. Each operating system includes executable code thatcontrols basic functions of the communication device, such asinteraction among the various components, communication with externaldevices via the wireless transceivers 202 and/or the OBD interface 214,and storage and retrieval of applications and data to and from the localstorage medium 206. Each application includes executable code thatutilizes an operating system to provide more specific functionality forthe communication devices, such as file system service and handling ofprotected and unprotected data stored in the local storage medium 206.

As explained herein, the local storage medium 206 stores content 216,such as historic driving data 216 (e.g., past frequent routes 218), apresent GPS route 220, and the like, saved in common or separate memorysections. The past frequent and GPS routes 218, 220 include nodes androute segments connected between the nodes. The nodes representintersections. The route segments represent portions of a street,highway and the like between intersections. The nodes/intersections mayhave corresponding turn restrictions and turn instructions. The routesegments may similarly have corresponding turn restrictions associatedwith particular lanes along the street, highway and the like. Additionalmap, routing, lane restriction and lane related information may bestored in the local storage medium 206 as explained herein.

The navigation data may be stored over time, such as to form a drivinghistory record of historic driving data 216. The historic driving data216 records frequent paths 218 or routes taken by a vehicle. Forexample, the historic driving data 216 may store non-navigation routessuch as commuter routes between a home and a workplace, school routesbetween a home and/or office and school, afterschool activity routebetween a home and/or office and various fields or other locations forafterschool sports, music, dance and other activities. The historicdriving data 216 may include frequency and timing information associatedwith routes, such as the times of day, days of the week and/or seasonmost likely to follow certain commuter, school or afterschool activityroutes. The historic driving data 216 may be generated and updatedcontinuously throughout operation of the method, such as through abackground application. The historic driving data 216 may be generatedby a user programming a series of navigation routes between user enteredsource and destination locations.

The historic driving data may include information regardingnon-navigation routes or non-GPS assisted routes (e.g., the commuterroute, school route, and other common routes taken by a vehicle duringday-to-day life without the need for audible or visual instructions froma GPS device etc.). The routes are defined by road segments andintersections. Additionally or alternatively, the historic driving datamay include information regarding certain intersections, such asintersections through which the driver frequently travels. Certainintersection within the historic driving data may be characterized ascandidate intersections or candidate turn intersections when there maybe a reason for the vehicle to turn at the corresponding intersection.For example, when following a navigation or GPS assisted routecalculated between source and destination locations, the turns along theroute represent candidate turn intersections where the route suggeststhe vehicle turn. As a further example, when the vehicle is notfollowing a particular route, namely non-navigation or non-GPS assistedroutes, candidate turn intersections may also arise. For example, acandidate turn intersections may be identified in connection withnon-navigation or non-GPS assisted routes such as when the vehicleapproaches an intersection saved in the historic driving data as afrequent intersection or saved in the historic driving data as anintersection along a frequent non-navigation route.

The historic driving data may become more reliable over time as morehistory and detail is collected concerning driving patterns of avehicle. For example, the historic driving data may indicate that when avehicle enters certain intersections from a particular direction atcertain times of day, the vehicle always turns right. Accordingly, theintersection would be flagged as a candidate turn intersection at whichthe vehicle is expected to turn right and the processes described herein(e.g. in connection with FIG. 4) would operate in an according manner.

The local storage medium 206 also stores map information 219 to be usedherein. The map information 219 may correspond to a road system for aregion or area in which the vehicle is located. The map information 219includes road related data, such as lane restrictions 221. The mapinformation 219 for a select region may be downloaded to the mobiledevice 110 continuously, periodically, only upon demand and the like.For example, when the TSM application 224 is activated, the TSMapplication 224 may identify the vehicle's current location through theuse of GPS information. The TSM application 224 may then communicatewith a remote database of maps, such as through the wireless transceiver202, to obtain map information 219 for the region in which the vehicleis located. Optionally, the map information 219 may be stored within amobile GPS device 108, within the built-in GPS system 112, or otherwise.The map information 219 may be pre-stored on the mobile device 110 forthe entire United States or for select geographic regions when the TSMapplication 224 is uploaded. Throughout operation, as the vehicle movesto various geographic regions or a user enters destination locationsoutside of a local geographic region, the processor 204 may determine adesire to download additional road related data, such as current lanerestrictions.

Additionally, the applications stored in the local storage medium 206include a turn signal management (TSM) application 224 for facilitatingthe management of activation of turn signals while navigating along aselect route, or more generally navigating a vehicle over a road system(with or without a select or candidate route). Operation of the TSMapplication 224 are described below in connection with FIGS. 3 and 4.The TSM application 224 is preferably activated by default upon start-upof the mobile device 110, and can be activated or disabled via inputdevices 209 of the user interface 208. In one embodiment, the TSMapplication 224 may be activated when the mobile device 110 is placed ina predetermined routing mode. As a further example, the TSM application224 may be activated when the mobile device 110 detects that the mobiledevice is within a vehicle. For example, the mobile device 110 may linkwith a Bluetooth or other communications protocol in the vehicle andupon establishing the Bluetooth link, may activate the TSM application224. The TSM application 224 includes program instructions accessible bythe one or more processors 204 to direct a processor 204 to implementthe methods, processes and operations described herein including, butnot limited to the methods, processes and operations illustrated in theFigures and described in connection with the Figures.

Other applications stored in the local storage medium 206 includevarious application program interfaces (APIs). The power module 212preferably includes a power supply, such as a battery, for providingpower to the other components while enabling the mobile device 110 to beportable, as well as circuitry providing for the battery to berecharged. The OBD interface 214 provides a direct connection to otherdevices, auxiliary components, or accessories for additional or enhancedfunctionality, and in particular, can include a USB or other port forlinking to the OBD terminal 120.

Each transceiver 202 can utilize a known wireless technology forcommunication. Exemplary operation of the wireless transceivers 202 inconjunction with other components of the mobile device 110 may take avariety of forms and may include, for example, operation in which, uponreception of wireless signals, the components of mobile device 110detect communication signals and the transceiver 202 demodulates thecommunication signals to recover incoming information, such as voiceand/or data, navigation data, GPS coordinates, map data, lanerestriction information and the like transmitted by the wirelesssignals. After receiving the incoming information from the transceiver202, the processor 204 formats and stores the incoming information.Likewise, for transmission of wireless signals, the processor 204formats outgoing information, which may or may not be activated by theinput devices 210, and conveys the outgoing information to one or moreof the wireless transceivers 202 for modulation to communicationsignals. The transceivers 202 may wirelessly transmit turn indicatorcommands to the control system of the vehicle, such as to the OBDsystem. The wireless transceiver(s) 202 convey the modulated signals toa remote device, such as a cell tower or a remote server (not shown).

In accordance with embodiments herein, the transceiver 202 maybi-directionally convey GPS related data and information between themobile device 110 and a separate GPS module. For example, the separateGPS module 112 may be embedded within the OBD system 106 within thevehicle 100. Alternatively, the GPS module may represent a stand-aloneGPS device 108 that is separate and distinct from the mobile device 110.The stand-alone GPS device 108 may interact with the mobile device 110to perform the turn indicator management operations described herein.The GPS module 112 embedded within the OBD system 106 and/or thestand-alone GPS device 108 may perform route calculation operations, aswell as tracking the present position and speed of the vehicle. In thisexample, the GPS module/device may convey navigation data, such ascoordinate information, through the transceiver 202 to the mobile device110, in order that the mobile device 110 uses such navigation data todetermine when and whether to activate turn indicators.

The GPS receiver 226 receives GPS information from GPS satellites. TheGPS receiver 226 uses the GPS information to calculate navigation data,as well as a current location and a speed of the vehicle 100 whiledriving.

The mobile device 110 may also include an image input unit 228, a sensorunit 230, and a vehicle state information collection unit 232. The imageinput unit 228 generates image data corresponding to external still orvideo inputs indicative of an environment and features surrounding thevehicle 100. For example, the image input unit 228 may represent one ormore cameras positioned within the vehicle and oriented with fields ofview directed toward the front of the vehicle, the rear of the vehicleand/or the sides of the vehicle. One or more of the cameras may beoriented to view the road surface and a region in front of the vehicle(e.g. within 5 to 30 feet of the vehicle). The cameras may be orientedwith fields of view directed toward positions where road signs may belocated. The image input unit 228 collects image data that may beanalyzed by the processor 204 to identify a current lane in which thevehicle is located, as well as to determine whether lanes exist to theleft and right of the vehicle. When the mobile device 110 is cradled inthe vehicle 100, the image input unit 228 captures images of drivingconditions and the interior and/or exterior of the vehicle 100.

Optionally, the processor 204 may be configured to process the imagedata to identify lane restriction information denoted within lanesthemselves, such as turn arrows painted on a highway within lanesindicating that a lane is a right turn only lane, a left turn only lane,a straight-right lane, a straight-the left lane, a U-turn lane and thelike. The processor 204 may be configured to analyze image data fromcameras positioned to capture road signs, such as to identify road signsindicating that a lane is a merge lane, a right turn only lane, a leftturn only lane, a straight-right lane, a straight-the left lane, aU-turn lane and the like.

The sensor unit 230 senses the speed, shock, vibration, direction, andinter-vehicle distance of the vehicle 100 in which the mobile device 110is placed. For example, the sensor unit 230 includes, but not limitedto, an inertial sensor such as an accelerometer, a gyroscope, a shocksensor, a tilt sensor, etc., an altimeter, a gravity sensor, and ageomagnetic sensor, alone or in combination. The sensor unit 230 mayalso be configured with any other type of sensor that can sense movementof the vehicle 100 having the mobile device 110. The processor 204receives a sensed value or sensed data from the sensor unit 230 andcompares the sensed value or sensed data in order to derive non-GPSnavigation information, lane change information, direction changeinformation and the like.

The vehicle state information collection unit 232 receives vehicle stateinformation such as an x-degree adjustment of the steering wheel, a fastacceleration, a fast deceleration, an engine overheating, an ECU defect,speed, RPM, a brake signal, an accelerator state, transmissioninformation, etc., from the OBD terminal 120. When the mobile device 110issues a turn signal command, the vehicle state information collectionunit 232 may be paired with the OBD terminal 120 and communicate withthe OBD terminal 120, e.g., by a wired connection or short-rangewireless communication. The vehicle state information collection unit232 may request vehicle state information from the OBD terminal 120. Thevehicle state information collection unit 232 may periodically receivevehicle state information pushed from the OBD terminal 120.

When the TSM application 224 is activated, the processor 204 controlsthe image input unit 228 to start to capture images. The image inputunit 228 may capture image data continuously, periodically or inresponse to select events (e.g., a change lane event, approaching anintersection, approaching a turn in a route, etc.). The processor 204may determine select events based on sensed values (e.g., change ofsteering wheel direction) received from the sensor unit 230. Apredetermined threshold may be used to determine whether a lane changeevent has occurred. If the sensed value is greater than or equal to thepredetermined threshold, the processor 204 determines that a change laneevent has occurred, and stores and analyzes new image data from theimage input unit 228 to determine a new lane for the vehicle 100. Theimage data may include still images, a video, etc., that are capturedbefore and after the change lane event occurrence time.

The processor 204 may also store vehicle state information received fromthe OBD terminal 120 and location information received from the GPSreceiver 226 in the local storage medium 206. Optionally, the vehiclestate information from the OBD terminal 120 may include informationabout a traffic state, vehicle shaking, and an inter-vehicle distance,based thereon the processor 204 may generate an event determinationcondition such as to turn on a turn signal earlier than normal whenanother vehicle is detected to be approaching quickly in the lane intowhich the vehicle 100 is to change lanes.

FIG. 3 illustrates a process carried out in accordance with embodimentsfor automatically controlling turn indicators on a vehicle whilenavigating along a suggested route. The operations of FIG. 3 are carriedout by one or more processors 204 of the mobile device 110, alone or incombination with the GPS devices and systems and other components in thevehicle 100 of FIG. 1, in response to execution of program instructions,such as in the TSM application 224, and/or other applications stored inthe local storage medium 206.

At 302, routing information is entered such as by a user through theuser interface 208. For example, the routing information may include adestination location, a saved route, etc.

At 304, a route is calculated or recalculated between source anddestination locations (e.g., by the mobile device 110, GPS device 108,GPS system 112). The source location may or may not correspond to thepresent location of the vehicle. The destination location may have beenentered by the user, saved in memory, prerecorded and the like.

At 306, the method begins to track the position and speed of the vehiclealong the route (e.g., by the mobile device 110, GPS device 108, GPSsystem 112). The tracking may be performed based upon GPS information orupon other navigation systems and techniques, such as triangulationbetween cellular towers and other radio frequency transmission sources.The tracking may be performed, for select periods of time, upon deadreckoning techniques based upon accelerometers or other motion sensorswithin the sensor unit 230. At 306, the system periodically obtainsnavigation data indicative of a present position of a vehicle. Forexample, the system may obtain navigation data every minute, every twoseconds, or less frequently based upon the operation settings.

At 308, the method determines whether the vehicle 100 is approaching anintersection corresponding to a turn within the calculated route. Whenthe present vehicle position is not approaching a turn in the route,flow returns along 309 to 306. When the vehicle approaches a turn in theroute, flow moves to 310.

At 310, the method accesses the map information 219 for the regionsurrounding the vehicle. The method identifies road lane relatedinformation, such as lane restrictions 221, in the map information 219.Examples of lane restrictions include “no left turn”, “no right turn”,“no U-turn”, and the like for a corresponding select lane. Lanerestrictions may also indicate valid options such as a vehicle maycontinue straight and/or turn right from a particular lane, as well asonly continue straight or continue straight and/or turn left from thelane. The method assesses the lane restriction information 221 at 310 inconnection with a road lane corresponding to a present position of thevehicle as designated by the navigation data.

At 312, the method determines whether the vehicle is in a lane, forwhich a valid option permits the vehicle to turn in a directionindicated by the calculated route at the approaching intersection. Forexample, when the calculated route indicates that a vehicle should takea right turn at the next intersection, at 312, the method determineswhether the vehicle is in a lane from which a right turn is permitted.

For example, the vehicle may be in a center (non-turning) lane orleft-hand lane when approaching the intersection at which the calculatedroute calls for a right-hand turn. As another example, the vehicle maybe in a center (non-turning) or right-hand lane when approaching theintersection at which the calculated route calls for a left-hand turn.In the foregoing examples, the vehicle would not be able to make theappropriate right or left hand turn without committing a trafficviolation. At 312, when the vehicle is in an incorrect (nonturning)lane, flow moves to 316. At 312, when the vehicle is in a correct(turning) lane, flow moves to 314.

At 316, the method may notify the driver of the need to change lanesbefore the vehicle will be able to make the appropriate turn to maintainthe calculated route without committing a traffic violation. Forexample, the method may notify the driver that the driver needs toswitch one or more lanes to the left or right before the approachingintersection. Following the notification at 316, flow returns to 312.While not illustrated, the system collects new position informationcorresponding to the current position of the vehicle. The determinationat 312 is then repeated. If the vehicle has moved, following thenotification at 316, to an appropriate turning lane, at 312, the methodwill determined that the vehicle is now in a correct lane from which anupcoming turn may be conducted to remain on the calculated route withoutcommitting a traffic violation. Alternatively, at the second or thirditeration through 312, the method may continue to determine that thevehicle has not moved to a correct turning lane. Accordingly, the methodmay return to the point denoted A.

At 312, when the vehicle is determined to be in a lane that allows orpermits the upcoming turn, flow moves to 314. At 314, the methoddetermines whether the vehicle is within a threshold distance to theintersection at which the route calls for a turn. For example, thethreshold distance may be 100 to 700 feet, 300 to 500 feet, etc. beforethe intersection. The threshold distance may vary based upon the speedof the vehicle. For example, a longer threshold distance may be usedwith vehicles traveling at faster speeds, such as on interstates.Shorter threshold distances may be used with vehicles traveling atslower speeds, such as in residential areas. When the vehicle is outsideof (not within) the threshold distance from the intersection, flow movesto 318. At 318, the method waits for the vehicle to move closer to theintersection and the determination at 314 is repeated.

At 314, when a vehicle is within the threshold distance of anintersection, flow moves to 320. At 320, the method automaticallygenerates a turn indicator command to activate a turn indicator of thevehicle based on the lane information and the navigation data. Forexample, the method supplies the turn indicator command to an onboarddiagnostics (OBD) system of the vehicle to direct the vehicle toautomatically activate (e.g., turn on) one or more turn signals. Themethod generates the turn indicator command as the navigation dataindicates that the vehicle approaches the route-turn intersection alongthe route, thereby informing surrounding vehicles that the driver of thepresent vehicle intends to make a turn at the approaching intersection.

Once the turn indicator command is issued at 320, the process of FIG. 3may terminate. Alternatively, following the operation at 320, flow maymove to 322. At 322, the method determines whether the route has changedand/or whether the present position of the vehicle has changed. When theposition of the vehicle changes, but not the route, flow moves from 322back to 306. When the route changes at 322, flow moves to 304. Theoperations at 304 to 322 are iteratively repeated throughout navigationof the vehicle to the destination location. The operations of FIG. 3track a position of the vehicle along a route to a destination locationbased on the navigation data, where the route including route-turnintersections, at which the method automatically turns on turn signalswhen appropriate for turns in the route.

FIG. 4 illustrates a process carried out in accordance with embodimentsfor automatically controlling turn indicators on a vehicle whiletravelling along no particular suggested route, also referred to anon-navigation route or non-GPS assisted routes. The operations of FIG.4 are carried out by one or more processors 204 of the mobile device110, GPS devices and GPS systems, in response to execution of programinstructions, such as in the TSM application 224, and/or otherapplications stored in the local storage medium 206.

At 402, the method begins to track the position and speed of thevehicle. The tracking may be performed based upon GPS information orupon other navigation systems and techniques, such as triangulationbetween cellular towers and other radio frequency transmission sources.The tracking may be performed, for select periods of time, upon deadreckoning techniques based upon accelerometers or other motion sensorswithin the system. At 402, the method periodically obtains navigationdata indicative of a present position of a vehicle. For example, themethod may obtain navigation data every minute, every two seconds, orless frequently based upon the operation settings.

At 404, the method accesses past historic driving data 216. The methodreviews past frequent paths or routes (generally non-navigation ornon-GPS assisted routes) that the vehicle has followed, such as acommuter route between a home and a workplace, a school route between ahome and/or office and school. At 404, the method determines whether acurrent path followed by the vehicle (e.g. since being started orleaving a saved location) matches or overlaps one or more common routessaved in the historic driving data, such as a commuter route, schoolroute, afterschool route and the like. Optionally, the determination at404 may be entirely omitted and the process of FIG. 4 implementedwithout regard for historic driving data 216. The making or overlappingpaths are held for later use.

At 406, the method accesses the map information 219 for the regionsurrounding the vehicle. The method identifies road segment and roadlane related information, such as lane restrictions 221. The currentroad segment and current lane may be identified from the GPS coordinatesfor the present location of the vehicle, and/or from image data. Forexample, GPS data may identify the road segment and image data mayidentify the current/active lane. The system assesses the lanerestriction information 221 in connection with a road lane correspondingto a present position of the vehicle as designated by the navigationdata.

At 408, the method determines whether the vehicle is in a lane, forwhich the only valid option is for the vehicle to turn at theapproaching intersection. For example, the vehicle may be in a rightturn lane, or a left turn lane, and thus the vehicle should make acorresponding right or left hand turn at the intersection, or otherwisecommit a traffic violation. At 408, when the vehicle is in a turn onlylane, flow moves to 410. At 408, when the vehicle is not in a turn-onlylane, flow moves to 414.

At 410, the method determines whether the vehicle is within a thresholddistance to the intersection at which the lane restriction represents a“turn only” lane. For example, the threshold distance may be 400 to 500feet before the introduction. The threshold distance may vary based uponthe speed of the vehicle. For example, a longer threshold distance maybe used with vehicles traveling at faster speeds, such as oninterstates. Shorter threshold distances may be used with vehiclestraveling at slower speeds, such as in residential areas. When thevehicle is outside of (not within) the threshold the distance from theintersection, flow moves to 412. At 412, the method waits for thevehicle to move closer to the intersection and the determination at 410is repeated.

At 410, when a vehicle is within the threshold distance of anintersection, flow moves to 420. At 420, the method automaticallygenerates a turn indicator command to turn on a turn signal of thevehicle based on the lane information and the navigation data. Forexample, the device 110 supplies the turn signal command to an onboarddiagnostics (OBD) system of the vehicle to direct the vehicle toautomatically activate (e.g., turn on) the turn signal. The device 110generates the turn signal command as the navigation data indicates thatthe vehicle approaches the route-turn intersections along the route,thereby informing surrounding vehicles that the driver of the presentvehicle intends to make a turn at the approaching intersection.

Hence, when the vehicle is located in a “turn only” lane based on thelane restriction information and the navigation data, the turn signalcommand is generated automatically.

Once the turn indicator command is issued at 420, the process of FIG. 4may terminate. Alternatively, following the operation at 420, flow mayreturn to 402. The operations at 404 to 420 are iteratively repeatedwhile the vehicle moves. The operations of FIG. 4 track a position ofthe vehicle based on the navigation data and automatically activate turnsignals when appropriate based on lane restriction informationcorresponding to a present lane where the vehicle is located.

Returning to 408, when the method determines that the current lane doesnot require a turn, flow moves to 414. At 414, the method determineswhether the current lane permits optional turns. When a turn is notoptionally permitted from the current lane, flow returns along 415 to402. Otherwise, flow may branch in optional alternative directions inaccordance with various embodiments.

In one embodiment, when the current lane is designated as an optionalturn lane, flow may move from 414 back to 410. As explained herein, at410 and 412, the method waits for the vehicle to move to within athreshold distance of an intersection, and thereafter activates the turnsignal.

In an alternative embodiment, when the current lane is designated as anoptional turn lane, flow may move from 414 to 416. At 416, the methodanalyzes the past historic driving data 216 (if present). As explainedabove, the historic driving data 216 may indicate one or more frequentpaths followed by the vehicle. When frequent paths are stored in thehistoric driving data, such paths are compared to the current path beingfollowed by the vehicle. At 416, the method determines whether a matchexists between the current path being followed by the vehicle and one ormore of the frequent paths collected at 406 from the historic drivingdata. When a match occurs, the frequent path is designated as acandidate route or intersection (e.g., a commuter or school route) thatthe vehicle potentially is presently following.

At 418, the method identifies candidate turns at intersections along thecandidate route from the historic driving data 216. As the vehicleapproaches a candidate turn at an intersection along the candidateroute, the method determines whether the vehicle is in a lane from whicha turn is permitted to follow the candidate route. When the vehicle ispotentially following a candidate route and is in a lane from which aturn is permitted, flow returns along 419 back to 410. Flow moves along419 as the method has determined that the vehicle appears to befollowing a candidate route, such as a commuter route, a school route,and after school route and the like. Following 419, the method againdetermines at 410 whether the vehicle is within a threshold distance ofthe intersection corresponding to a candidate turn within the candidateroute. When the vehicle is within the threshold distance of the turn,flow moves to 420 and a turn signal is activated. Alternatively, whilethe vehicle is outside of the threshold distance, flow moves to 412where the method waits for the vehicle to move closer to theintersection.

In accordance with the operations at 414-418, when the method determinesthat the vehicle is located in a “turn optional” lane based on the lanerestriction information; determining that the vehicle is approaching aturn candidate intersection and the navigation data; analyzing driverhistoric data indicative of past driving behavior, the turn signalcommand being generated automatically when the driver historic dataindicates the past driving behavior includes turning at the turncandidate intersection from the turn optional lane.

Remaining at 418, when the historic driving data indicates that no turnhas been taken in the past at the upcoming intersection, flow returnsalong 415 back to 402.

Optionally, while not shown in FIG. 4, when the vehicle appears to befollowing a candidate route from the historic driving data, the systemmay notify the driver of the need to change lanes before the vehiclewill be able to make the appropriate turn to maintain the candidateroute without committing a traffic violation. For example, the systemmay notify the driver that the driver needs to switch one or more lanesto the left or right before the approaching intersection. Optionally,the system may notify a driver that the vehicle is in a wrong lane whenthe vehicle is not in the correct turn lane.

Embodiments herein are described in connection with delivering turnindicator commands to the OBD system of the vehicle. Optionally, theturn indicator commands may be supplied to the control system of thevehicle through another intermediary system. The turn indicator commandsneed not be passed through the OBD system. As one example, the turnindicator commands may be passed directly to a subsystem of the vehiclethat operates in connection with controlling turn indicators, such asturn signals.

As will be appreciated by one skilled in the art, various aspects may beembodied as a system, method or computer (device) program product.Accordingly, aspects may take the form of an entirely hardwareembodiment or an embodiment including hardware and software that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects may take the form of a computer (device) programproduct embodied in one or more computer (device) readable storagemedium(s) having computer (device) readable program code embodiedthereon. Any combination of one or more non-signal computer (device)readable medium(s) may be utilized. The non-signal medium may be astorage medium. A storage medium may be, for example, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples of a storage medium would include the following: aportable computer diskette, a hard disk, a random access memory (RAM), adynamic random access memory (DRAM), a read-only memory (ROM), anerasable programmable read-only memory (EPROM or Flash memory), aportable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing.

Program code embodied on a storage medium may be transmitted using anyappropriate medium, including but not limited to wireless, wireline,optical fiber cable, RF, et cetera, or any suitable combination of theforegoing. Program code for carrying out operations may be written inany combination of one or more programming languages. The program codemay execute entirely on a single device, partly on a single device, as astand-alone software package, partly on single device and partly onanother device, or entirely on the other device. In some cases, thedevices may be connected through any type of network, including a localarea network (LAN) or a wide area network (WAN), or the connection maybe made through other devices (for example, through the Internet usingan Internet Service Provider) or through a hard wire connection, such asover a USB connection.

Aspects are described herein with reference to the figures, whichillustrate example methods, devices and program products according tovarious example embodiments. These program instructions may be providedto a processor of a general purpose computer, special purpose computer,or other programmable data processing device or information handlingdevice to produce a machine, such that the instructions, which executevia a processor of the device implement the functions/acts specified.

The program instructions may also be stored in a device readable mediumthat can direct a device to function in a particular manner, such thatthe instructions stored in the device readable medium produce an articleof manufacture including instructions which implement the function/actspecified. The program instructions may also be loaded onto a device tocause a series of operational steps to be performed on the device toproduce a device implemented process such that the instructions whichexecute on the device provide processes for implementing thefunctions/acts specified.

The units/modules/applications herein may include any processor-based ormicroprocessor-based system including systems using microcontrollers,reduced instruction set computers (RISC), application specificintegrated circuits (ASICs), field-programmable gate arrays (FPGAs),logic circuits, and any other circuit or processor capable of executingthe functions described herein. Additionally or alternatively, theunits/modules/controllers herein may represent circuit modules that maybe implemented as hardware with associated instructions (for example,software stored on a tangible and non-transitory computer readablestorage medium, such as a computer hard drive, ROM, RAM, or the like)that perform the operations described herein. The above examples areexemplary only, and are thus not intended to limit in any way thedefinition and/or meaning of the term “controller.” Theunits/modules/applications herein may execute a set of instructions thatare stored in one or more storage elements, in order to process data.The set of instructions may include various commands that instruct themodules/applications herein to perform specific operations such as themethods and processes of the various embodiments of the subject matterdescribed herein. The set of instructions may be in the form of asoftware program. The software may be in various forms such as systemsoftware or application software. Further, the software may be in theform of a collection of separate programs or modules, a program modulewithin a larger program or a portion of a program module. The softwarealso may include modular programming in the form of object-orientedprogramming. The processing of input data by the processing machine maybe in response to user commands, or in response to results of previousprocessing, or in response to a request made by another processingmachine.

It is to be understood that the subject matter described herein is notlimited in its application to the details of construction and thearrangement of components set forth in the description herein orillustrated in the drawings hereof. The subject matter described hereinis capable of other embodiments and of being practiced or of beingcarried out in various ways. Also, it is to be understood that thephraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting. The use of“including,” “comprising,” or “having” and variations thereof herein ismeant to encompass the items listed thereafter and equivalents thereofas well as additional items.

It is to be understood that the above description is intended to beillustrative, and not restrictive. For example, the above-describedembodiments (and/or aspects thereof) may be used in combination witheach other. In addition, many modifications may be made to adapt aparticular situation or material to the teachings herein withoutdeparting from its scope. While the dimensions, types of materials andcoatings described herein are intended to define various parameters,they are by no means limiting and are illustrative in nature. Many otherembodiments will be apparent to those of skill in the art upon reviewingthe above description. The scope of the embodiments should, therefore,be determined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled. In the appendedclaims, the terms “including” and “in which” are used as theplain-English equivalents of the respective terms “comprising” and“wherein.” Moreover, in the following claims, the terms “first,”“second,” and “third,” etc. are used merely as labels, and are notintended to impose numerical requirements on their objects or order ofexecution on their acts.

1. A computer-implemented method, comprising: obtaining navigation dataindicative of a present position of a vehicle; assessing lanerestriction information, using one or more processors, in connectionwith a road lane corresponding to a present position of the vehicle asdesignated by the navigation data; and activating a turn indicator ofthe vehicle, using the one or more processors, based on the lanerestriction information and the navigation data.
 2. The method of claim1, further comprising generating automatically a turn indicator command,using the one or more processors, to initiate the activating operation,wherein the generating operation supplies the turn indicator command toan onboard diagnostics system of the vehicle to direct the vehicle toautomatically turn on a turn signal that represents the turn indicator.3. The method of claim 2, further comprising determining when thevehicle is located in a “turn only” lane based on the lane restrictioninformation and the navigation data, the turn indicator command beinggenerated automatically when the vehicle is in the “turn only” lane. 4.The method of claim 2, further comprising determining when the vehicleis within a threshold distance from an upcoming turn based on thenavigation data, the turn indicator command being generatedautomatically when the vehicle is within the threshold distance.
 5. Themethod of claim 1, further comprising determining when the vehicle islocated in a “turn optional” lane based on the lane restrictioninformation; determining that the vehicle is approaching a candidateturn intersection based on the navigation data and based on historicdriving data that includes past routes.
 6. The method of claim 1,further comprising: tracking a position of the vehicle along a route toa destination location based on the navigation data, the route includingturn intersections, the activating operation activates the turnindicator as the navigation data indicates that the vehicle approachesthe turn intersections along the route.
 7. The method of claim 1,further comprising receiving a destination location and calculating aroute between a present position of the vehicle and the destinationlocation.
 8. The method of claim 1, further comprising determiningwhether the vehicle is in a correct turn lane based on the navigationdata; and notifying a driver that the vehicle is in a wrong lane whenthe vehicle is not in the correct turn lane.
 9. The method of claim 1,further comprising analyzing historic driving data indicative of a pastroute, the turn indicator being activated automatically when thehistoric driving data indicates the past route includes turning at acandidate turn intersection that the vehicle approaches.
 10. A system,comprising: a processor; an input that collects navigation dataindicative of a present position of a vehicle; a local storage storingprogram instructions accessible by the processor; wherein, responsive toexecution of the program instructions, the processor: assesses lanerestriction information in connection with a road lane corresponding toa present position of the vehicle as designated by the navigation data;and activates a turn indicator of the vehicle based on the lanerestriction information and the navigation data.
 11. The system of claim10, further comprising a data interface configured to be coupled to anonboard diagnostics system of the vehicle, the processor generatesautomatically a turn indicator command to activate the turn indicator,the data interface supplying the turn indicator command to the onboarddiagnostics system of the vehicle.
 12. The system of claim 10, furthercomprising a GPS module to track the present position of the vehicle andgenerate the navigation data based thereon.
 13. The system of claim 11,further comprising a transceiver configured to wirelessly convey theturn indicator command over a wireless interface to an onboarddiagnostics system of the vehicle.
 14. The system of claim 10, whereinthe local storage medium further stores map information including roadrelated data including lane restriction information indicative of turnrestrictions.
 15. The system of claim 14, wherein the processorautomatically generates a turn indicator command when the navigationdata indicates that the vehicle is in the road lane for which the lanerestriction information indicates a turn.
 16. The system of claim 14,wherein the processor updates historic driving data based on at leastone of a commuter route, a school route and an afterschool activityroute, the processor automatically activating the turn indicator basedon the lane restriction information and the historic driving data.
 17. Acomputer program product comprising a non-signal computer readablestorage medium comprising computer executable code to perform: obtainingnavigation data indicative of a present position of a vehicle; assessinglane restriction information in connection with a road lanecorresponding to a present position of the vehicle as designated by thenavigation data; and activating a turn indicator of the vehicle based onthe lane information and the navigation data.
 18. The computer programproduct of claim 17, the code further comprising generatingautomatically a turn indicator command and supplying the turn indicatorcommand to an onboard diagnostics system of the vehicle to direct thevehicle to automatically turn on a turn signal that represents the turnindicator.
 19. The computer program product of claim 17, the codefurther comprising determining when the vehicle is located in a “turnonly” lane based on the lane restriction information and the navigationdata, the turn indicator being activated automatically when the vehicleis in the “turn only” lane.
 20. The method of claim 1, furthercomprising obtaining historic driving data including a past route takenby the vehicle, the activating including activating the turn indicatorbased on the present position of the vehicle relative to the past route.21. The system of claim 10, wherein the local storage stores historicdriving data including a past route taken by the vehicle, and whereinthe processor activates the turn indicator based on the present positionof the vehicle relative to the past route.